home *** CD-ROM | disk | FTP | other *** search
/ CYBER.XPO.95 / CYBER.XPO.95 (Arsenal Computer).ISO / popreq / amiga1 / azap_214.lha / AZap / AZapEnglish.doc < prev    next >
Text File  |  1994-01-26  |  19KB  |  482 lines

  1.  
  2.  
  3.                   AZap - User's Manual
  4.  
  5.  
  6.  
  7.  
  8.  
  9. AboutThisDoc
  10.  
  11.       This manual describes release 2.14 of the utility AZap. This program
  12.   is (c)1992-1993 by Denis GOUNELLE, any commercial usage or  selling  without
  13.   author's written authorization is  strictly  forbidden.  You  can  copy  and
  14.   spread this program under the following conditions:
  15.  
  16.     - all the files are provided
  17.     - the files are not modified in any way
  18.     - you don't charge more than $6 for copy fee
  19.  
  20.       In spite of several tests, no warranty is made  that    there  are  no
  21.   errors in AZap. YOU USE THIS PROGRAM AT YOUR OWN RISK. In no event will I be
  22.   liable for any damage, direct or indirect, resulting of the use of AZap.
  23.  
  24. Introduction
  25.  
  26.       AZap is a "new generation" binary editor able to edit files,  memory
  27.   or devices like hard disks. It can open several windows at  the  same  time,
  28.   and while this program cannot be considered as a tool to help you to recover
  29.   a disk, it has a lot of useful functions (print block,  fill  block,  search
  30.   string, etc...).
  31.  
  32.                     CAUTION:
  33.  
  34.       It is absolutly forbidden to use this program  to  modify  a
  35.       copyright notice, or any other illegal usage.  Unexperienced
  36.       users should be aware that this program  may    destroy  their
  37.       programs, or cause severe data loss. 
  38.  
  39.       Criticisms and suggestions will always be welcomed. Write to:
  40.  
  41.                    M. GOUNELLE Denis
  42.                   27, rue Jules GUESDE
  43.                 45400 FLEURY-LES-AUBRAIS
  44.                      FRANCE
  45.  
  46.       You can also send a message to  the  following  Internet  address  :
  47.   "gounelle@alphanet.ch". Note that this mailbox is not mine, so  please  send
  48.   only short messages. As I don't have direct access to  the  messages,  don't
  49.   expect an answer before a dozen of days.
  50.  
  51.       Thanks to Pierre  Ardichvili,  Reza  Elghazi,  Yves  Perronoud,  and
  52.   Jean-Yves Proux for beta-testing and suggestions.
  53.  
  54. Installation
  55.  
  56.       This program requires "reqtools.library" (version 2.0c or higher) to
  57.   run,    so  you  must  copy  it  in  your  "LIBS:"   directory   before.   The
  58.   "reqtools.library" is (c)1990-1993 by Nico FRANCOIS.
  59.       AZap is now localized, so it    can  adapt  itself  to    your  favorite
  60.   language. All you have to do is to copy  the    good  catalog  file  into  the
  61.   directory corresponding to your  language.  For  exemple,  if  your  default
  62.   language   is    french,    copy    the    "franτais.catalog"    into    the
  63.   "SYS:Locale/Catalogs/Franτais" directory, under the name "AZap.catalog."
  64.  
  65.       The dutch catalog was translated by Paul WETERINGS
  66.       The spanish catalog was translated by Raul Fernandez GARCIA
  67.       The swedish catalog was translated by Bernt AHLBACK
  68.       The norvegian catalog was translated by Jorn INNSET
  69.  
  70. Running_from_CLI
  71.  
  72.       This program detach itself from CLI window. It accepts the following
  73.   arguments:
  74.  
  75.       WBENCH
  76.       Use Workbench screen instead of custom screen.
  77.  
  78.       LACE
  79.       Use an interlaced custom screen. This option is ignored  if  the
  80.       WBENCH option is specified too.
  81.  
  82.       FONT name
  83.       Use the specified font instead of internal 6x9 font. "name" must
  84.       be given as <font name><Y size>, like "courier9". AZap will  use
  85.       this font only if it isn't proportionnal and  if  it  isn't  too
  86.       large to display a 512 bytes block.
  87.  
  88.       MEMORY
  89.       Open a window to edit memory.
  90.  
  91.       DEVICE name
  92.       Open a window to edit specified device. Don't forget  the  colon
  93.       (":") at the end of the name.
  94.  
  95.   Any other argument is supposed to be the name of a file  to  edit.  You  can
  96.   specify as many names as you want, but only the first eight will be used. Of
  97.   course, you can mix file names, MEMORY  and  DEVICE  options.  Last,    if  no
  98.   argument is specified, a file requester appears (see "The_Project_menu")  so
  99.   you can select the file to edit.
  100.  
  101. Running_from_Workbench
  102.  
  103.       You can specify the following options in the "TOOL  TYPES"  of  AZap
  104.   icon:
  105.  
  106.       OPTIONS=WBENCH or OPTIONS=LACE
  107.       See  the   description   of    WBENCH     and   LACE   options    in
  108.       "Running_from_CLI" section.
  109.  
  110.       FONT=name
  111.       See above the description of FONT option  in    "Running_from_CLI"
  112.       section
  113.  
  114.   You can give an icon as an argument, by the habitual method. This  icon  may
  115.   be a file or a volume icon. Otherwise, a file  requester  will  appear  (see
  116.   "The_Project_menu") so you can select the file to edit.
  117.  
  118. The_edit_window
  119.  
  120.       The  left  part  of  the  display  shows  the  block     contents   in
  121.   hexadecimal, by sets of 4 bytes. The right part shows the  same  information
  122.   but as characters.  Bytes  corresponding  to    non-printable  characters  are
  123.   replaced by a point (".").
  124.       At  the  bottom  right  of  the   window   are   displayed   several
  125.   informations: the block address (relative to beginning, in hex), the  offset
  126.   in the block (in hex), the block number (relative to beginnin, in  decimal),
  127.   and the block type. This last information is not significant unless you edit
  128.   a DOS device. When block contents has been modified but not written, a  star
  129.   ("*") is displayed at the right of the first line. When  block  checksum  is
  130.   valid, a "V" character is displayed at the right of the  second  line  (this
  131.   information is not significant unless you edit a DOS device).
  132.  
  133.       When the window is opened, the first    block  is  displayed  and  the
  134.   cursor is on the first  character  of  the  right  part.  The  corresponding
  135.   position in the left part is showed by a display in a different  color.  You
  136.   can move the cursor whith the arrow  keys.  To  switch  between  a  part  to
  137.   another (left to right or right to left) just press the tabulation key.  You
  138.   can also move anywhere you want using the mouse. To modify data,  just  type
  139.   in the new datas over the old ones. In the left part, only "0" to  "9",  "a"
  140.   to "f" and "A" to "F" characters are allowed. AZap keep in mind the 32  last
  141.   changes: as long as you have not moved to another block you can  undo  these
  142.   changes with the escape key. The following keys are also accepted:
  143.  
  144.       ctrl-up      go to first block
  145.       ctrl-down      go to last block
  146.       ctrl-left      go to previous block
  147.       ctrl-right      do to next block
  148.       shift-up      go to first line
  149.       shift-down      go to last line
  150.       shift-left      go to first byte of the line
  151.       shift-right      go to last byte of the line
  152.  
  153.       The buttons at the bottom of the window allow (from left  to  right)
  154.   to go to the first block, to go to the previous block, to write the changes,
  155.   to go to the next block, to go to the last block,  and  to  go  to  a  given
  156.   address. In this last case, a  requester  appears,  so  you  can  enter  the
  157.   address to go. Use the following syntax:
  158.  
  159.       nbr      jump at address 'nbr'
  160.       ºnbr      jump at block 'nbr'
  161.       @nbr      jump at address found by reading the long word at address
  162.           'nbr' (when editing memory only)
  163.       #nbr      jump to the memory area number 'nbr' (when editing memory
  164.           only)
  165.  
  166.   The address  may  be    an  expression,  whose    syntax    is  described  in  the
  167.   "Expressions_syntax" section.
  168.       You may also use the proportionnal gadget,  at  the  bottom  of  the
  169.   window, to change your position. Be aware that, in all circumstances, if you
  170.   move to another block without writing the changes made to the current block,
  171.   all changes will be lost !
  172.  
  173.       To close the edit window, just click on the  close  gadget.  If  the
  174.   block has been modified but not saved, you will be asked  for  confirmation.
  175.   The program stops when the last edit window is closed.
  176.  
  177. The_Project_menu
  178.  
  179.       Open file...
  180.       Opens a new window to edit a file. A file requester will appear,
  181.       so you can select the file to edit.  A  memory  window  will    be
  182.       opened if you select "RAM:", or a device window if you select  a
  183.       device (like "DH0:")
  184.  
  185.       Open memory
  186.       Opens a new window to edit memory.
  187.  
  188.       Open device
  189.       Use the sub-menu items to select the device to edit. AZap  opens
  190.       a new window to edit this device.
  191.  
  192.       Help...
  193.       Displays cursor keys usage with CTRL and SHIFT.
  194.  
  195.       Palette...
  196.       A palette requester appears, so you can modify screen's  colors.
  197.  
  198.       Save prefs
  199.       Save configuration: screen's colors and font. The options of the
  200.       current  window  are    also  saved  as   default   options.   The
  201.       configuration file is "S:AZap.config".
  202.  
  203.       About...
  204.       Displays informations about the program.
  205.  
  206.       Quit
  207.       Ends program execution. You will be asked for confirmation.
  208.  
  209. The_Edit_menu
  210.  
  211.       Undo all
  212.       Read current block to undo all changes not saved yet.
  213.  
  214.       Jump back
  215.       Each time you move to  another  block  with  the  "go  to  first
  216.       block", "go to last block" or "GOTO" buttons, the  old  position
  217.       is kept in memory. This command allows  to  jump  back  to  this
  218.       position. The old position  is  also    kept  when  you  use  this
  219.       command, so you can easely toggle between two blocks.
  220.  
  221.       Next block
  222.       When editing a DOS device, this command allows you to go  either
  223.       to the first data block (if the current block is a file  header)
  224.       or to the next block (if the current block is a data block of  a
  225.       OFS disk).
  226.  
  227.       Parent block
  228.       When editing a DOS device and the current block is a file header
  229.       or a directory, this command allows  you  to    go  the  directory
  230.       block corresponding to the parent  directory    of  this  file    or
  231.       directory.
  232.  
  233.       Root block
  234.       When editing a DOS device, this command allows you to go to  the
  235.       root block of this device.
  236.  
  237.       Header block
  238.       When editing a DOS device, this command allows you to go to  the
  239.       next header block.
  240.  
  241.       When you use one of these four commands, the old position is kept in
  242.       memory for the "Jump back" command.
  243.  
  244. The_Tools_menu
  245.  
  246.       Infos
  247.       Displays  some   informations   about   the    file/memory/device
  248.       currently edited.
  249.  
  250.       Examine
  251.       When editing a DOS device, and if the current block is a  header
  252.       block, this command  displays  what  would  have  displayed  the
  253.       "Info" command on the corresponding file or directory.
  254.  
  255.       Print...
  256.       Prints a number of blocks starting from  the    current  block.  A
  257.       requester appears so you can specify another    output    file  that
  258.       "PRT:" (the printer). Then AZap  will  ask  you  the  number  of
  259.       blocks to print.
  260.  
  261.       Convert
  262.       A new window is opened, with four gadgets  that  enable  you    to
  263.       make convertions between binary, decimal, hexadecimal and ASCII.
  264.       Any value entered, either an expression  for    "BIN",  "DEC"  and
  265.       "HEX" gadgets, or  a  character  string  for  "ASC"  gadget,  is
  266.       converted in the other units.  You  don't  have  to  close  this
  267.       window to continue editing.
  268.  
  269.       Save block
  270.       Save a number of blocks starting from the current block. A  file
  271.       requester appears so you can specify the file where to save  the
  272.       blocks. Then AZap will ask you the number of blocks to save.
  273.  
  274.       Fill block...
  275.       Sets all bytes of  the  current  block  to  the  same  value.  A
  276.       requester appears so you can enter a value: either 'c'  to  fill
  277.       with the "c" character or a number (ASCII code of the  character
  278.       to use, prefixed by "0x" for an hexadecimal value).
  279.  
  280. The_Search_menu
  281.  
  282.       Search...
  283.       Searchs for a string or a hexadecimal value. A requester appears
  284.       so you can enter the value to  search  :  either  a  hexadecimal
  285.       value (prefixed by "0x", take care to enter an  even  number  of
  286.       digits) or a character string (ASCII search). To search a string
  287.       beginning with "0x", put all the string between double quotes.
  288.  
  289.       Search text... Searchs for a string of  printable  characters.  This
  290.       may be useful, for exemple, to locate a text area.  A  requester
  291.       appears so you can enter the minimal length  to  search  for.  A
  292.       value lower than 4 is generally not very interesting.
  293.  
  294.       Search next
  295.       Continue last search starting from current position.
  296.  
  297.       For all searchs, AZap move to the position  where  an  occurence    is
  298.       found, or the screen flashes.  The  previous  position  is  kept    in
  299.       memory for the "Jump back" function (see  "The_Edit_menu"  section).
  300.       You can abort a search, and AZap will find  a  string  laid  on  two
  301.       consecutives blocks.
  302.  
  303.       Search file
  304.       Goes strait to the header of a given file or directory.  A  file
  305.       requester appears, so you can select the file.  AZap    will  then
  306.       open a new device window for the corresponding device, and  show
  307.       the header block of the file.
  308.  
  309. The_Options_menu
  310.  
  311.       Take care that options are "locale" to a window : if you change  the
  312.   options of a window, the others windows won't be affected. When you  open  a
  313.   new window, it takes the options of the current window.
  314.  
  315.       Checksum
  316.       Specifies when AZap must update block checksum (used  only  when
  317.       editing a DOS device). Choices are : "always" (update for  *ALL*
  318.       blocks), "Ask if" (you will be asked for), "Boot  blocks"  (only
  319.       for 0 and 1 blocks) and "Automatic" (only if checksum was  valid
  320.       when reading block).
  321.  
  322.       Auto save
  323.       AZap will automatically save any modified block as soon  as  you
  324.       will ask to move to another block.
  325.  
  326.       Read only
  327.       You won't be allowed to modified data.
  328.  
  329.       lwr = UPR
  330.       Specifies if lower case and upper  case  characters  are  to    be
  331.       distinguished when making an ASCII search.
  332.  
  333.       Backup copy
  334.       Specifies if AZap must make a backup copy of    edited    files.    If
  335.       selected, at the next write attempt a requester will    appear    so
  336.       you can enter the name of the copy to  create.  AZap    will  then
  337.       make a copy of the file before recording  your  changes.  If    an
  338.       error occurs during the copy, the requester will  come  back    so
  339.       you can specify another name.  If  you  click  on  the  "Cancel"
  340.       gadget, no copy will be made but your changes will  be  recorded
  341.       anyway.
  342.  
  343. Expressions_syntax
  344.  
  345.       AZap is able to compute integer expressions. Default base is decimal
  346.   for addresses ("GOTO" gadget) or the  base  corresponding  to  the  selected
  347.   gadget in the convertion window. Base may be specified  with    "%"  (binary),
  348.   "#" (decimal), and "$" or "0x" (hexa) before  any  number.  Valid  operators
  349.   are :
  350.  
  351.       +      addition
  352.       -      subtraction
  353.       |      logical "or"
  354.       &      logical "and"
  355.       *      multiplication
  356.       /      integral division
  357.       %      remainder of integral division
  358.       <      shift left
  359.       >      shift right
  360.  
  361.   By default, "*", "/", "%", "<" and ">" operators have  higher  priority  but
  362.   you may use parenthesis. If there is a syntax error in  an  expression,  its
  363.   result will be set to -1.
  364.  
  365. Important_notes
  366.  
  367.       When starting to run, AZap reads the ExecBase structure to know  you
  368.   memory configuration. Only memory areas defined in memory  management  lists
  369.   may be  edited.  Except  when  searching,  these  areas  are    considered  as
  370.   adjacent, and AZap will automatically jump from  an  area  to  another.  The
  371.   "Infos" command (see "The_Tools_menu" section) displays the addresses of all
  372.   areas. Reading and  writing  memory  is  done  after    having    disabled  task
  373.   switching, in order to avoid conflicts.
  374.  
  375.       AZap will try to recognize the type of the  device  you  edit.  Some
  376.   operations  ("next  block",   "parent   block"   and   "root   block",   see
  377.   "The_Edit_menu" section) are disabled for non AmigaDOS  devices,  but  don't
  378.   forget to check the "Checksum"  option.  AZap  knows  about  OFS  (Old  File
  379.   System) and FFS (Fast File System) and handle both file systems.
  380.  
  381. History
  382.  
  383.       AZap is written almost fully in C language, and was developped on an
  384.   Amiga 3000 UNIX-1 (10 Mb RAM, internal HD  disk  drive,  two  internal  hard
  385.   disks of 100 Mb and 160Mb, external SyQuest drive of 88 Mb, external    floppy
  386.   disk drive, 1960 monitor and Star LC24-10 printer) connected by a null-modem
  387.   cable to an A500 with 1 Mb RAM.
  388.  
  389.   v1.00   14-Oct-92, 36084 bytes (Fish #759)
  390.       o First released version
  391.  
  392.   v1.01   16-Oct-92, 36084 bytes
  393.       o Bug fixed: didn't worked if default public screen  was  less  than
  394.         648 pixels wide.
  395.  
  396.   v1.10   15-Nov-92, 36960 bytes
  397.       o Added "Header block" and "Examine" functions
  398.       o After a file request, open a memory window if "RAM:" was selected,
  399.         or a device window if a device name was selected (e.g. "DH0:")
  400.  
  401.   v1.11   21-Nov-92, 36976 bytes
  402.       o Bug fixed: the "ºn" form in the "GOTO" function wasn't  understood
  403.  
  404.   v1.20   25-Dec-92, 40000 bytes
  405.       o Compiled with SAS/C 6.1
  406.       o Added "Search file" function
  407.       o The requester for the "GOTO"  function  displays  the  last  value
  408.         entered
  409.       o If a string search fails, displays a message "foo not found"
  410.       o Devices can be named by their logical names (in command  line  and
  411.         file request, except RAM:)
  412.  
  413.   v1.30   02-Jan-93, 40612 bytes
  414.       o Added "Save block" function
  415.       o The "Print..." function ask for the number of blocks to print
  416.       o The "Infos" functions displays disk type (OFS/FFS/NDOS)
  417.       o Search functions put together in a new menu
  418.       o A few bugs fixed in default font and WorkBench screen handling
  419.  
  420.   v2.00   07-Feb-93, 42116 bytes
  421.       o Compiled with SAS/C 6.2
  422.       o Fully localized
  423.  
  424.   v2.01   21-Feb-93, 41768 bytes
  425.       o Better handling of file requester
  426.       o A few bugs fixed in window options handling
  427.  
  428.   v2.02   13-Mar-93, 42264 bytes
  429.       o No more gurus with a 68000 (some pointeurs were not aligned)
  430.       o Detach itself from CLI again
  431.       o The "About" window has a closing gadget
  432.  
  433.   v2.03   15-Apr-93, 42292 bytes
  434.       o A few bug fixed in expression computation
  435.       o Bug fixed: the "modified block" flag was  not  always  reset  when
  436.         moving to another block
  437.  
  438.   v2.04   24-Apr-93, 42468 bytes
  439.       o Show files pathname in window's title and "info" window
  440.       o Recognize all OS 3.0 filesystems
  441.       o A few bugs fixed in menus handling
  442.  
  443.   v2.05   10-May-93, 42604 bytes
  444.       o Several bugs fixed in search function (hex and string)
  445.  
  446.   v2.06   18-May-93, 42692 bytes
  447.       o A few bugs fixed in conversion function (bin/dec/hex/asc)
  448.  
  449.   v2.07   03-Jul-93, 43548 bytes
  450.       o Compiled with SAS/C 6.3
  451.  
  452.   v2.08   29-Jul-93, 43580 bytes
  453.       o If a read error occurs on a floppy    or  fixed  disk,  screen  will
  454.         flash and the sector will be displayed with all bytes set to zero.
  455.  
  456.   v2.10   15-Sep-93, 44200 bytes
  457.       o Added a proportionnal gadget at the bottom of the window
  458.       o Uses the new versions  of  GetDefaultTextFont()  and  OuvreEcran()
  459.         functions
  460.  
  461.   v2.11   22-Sep-93, 44184 bytes
  462.       o Very funny bug fixed in searches: the display wasn't updated  when
  463.         the search failed. So, as the cursor moves, the hex bytes under it
  464.         changed. Also, in some cases, you could move the cursor below  the
  465.         window and down into the gadgets and such.
  466.  
  467.   v2.12   02-Oct-93, 44216 bytes
  468.       o Several bug fixed in proportionnal gadget handling: divide by zero
  469.         when file size was    smaller  than  512  bytes,  knob  filling  all
  470.         container when file size was 2 blocks, etc...
  471.  
  472.   v2.13   30-Oct-93, 44332 bytes
  473.       o You can give an icon as an argument when calling the program  from
  474.         the Workbench
  475.  
  476.   v2.14   26-Dec-93, 42776 bytes
  477.       o Handle stressed letters (they are now  considered  as  "printable"
  478.         characters)
  479.       o The "search next" function starts after the last string found
  480.       o Compiled with SAS/C 6.50
  481.  
  482.